home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / UTILREEN / PRNTSPOL.LZH / DMP.DOC < prev    next >
Text File  |  1991-01-27  |  102KB  |  2,295 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.                                        * DMP *
  15.  
  16.                  Printer driver/spooler for IBM PCs and compatibles.
  17.  
  18.                                     Revision 2.03
  19.  
  20.  
  21.              Copyright(c) 1989,1990 DMP software.  All rights reserved.
  22.  
  23.               This manual updated 15 Jan. 1991
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.           _______
  33.              ____|__     |               (TM)
  34.           --|       |    |-------------------
  35.             |   ____|__  |  Association of
  36.             |  |       |_|  Shareware
  37.             |__|   o   |    Professionals
  38.           -----|   |   |---------------------
  39.                |___|___|    MEMBER
  40.  
  41.  
  42.  
  43.  
  44.  
  45.        The following Trademarks are used throughout this manual:
  46.           PostScript - Adobe Systems
  47.           IBM - International Business Machines Corporation.
  48.           MS-DOS - Microsoft Corporation.
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.                  DMP Software
  56.                  204 E. Second Ave.,  Suite 610
  57.          San Mateo,  CA  94401
  58.  
  59.  
  60.  
  61.  
  62.                                   TABLE OF CONTENTS
  63.  
  64.        Introduction.  .    .    .    .    .    .    .    .    .    .    1
  65.        User Supported Software. .    .    .    .    .    .    .    .    1
  66.        Contents of the DMP.ARC file. .    .    .    .    .    .    .    2
  67.        How to use this documentation.     .    .    .    .    .    .    2
  68.        Starting DMP - basic options & examples.     .    .    .    .    2
  69.        Saving your configuration.    .    .    .    .    .    .    .    4
  70.        Removing DMP from memory.     .    .    .    .    .    .    .    4
  71.  
  72.        Frequently used commands - examples. .  .    .    .    .    .    5
  73.        File print utility - PF. .    .    .    .    .    .    .    .    6
  74.  
  75.        Selection of OUTPUT.     .    .    .    .    .    .    .    .    7
  76.             Printer connected to a parallel port.   .    .    .    .    7
  77.             Printer connected to a serial port.     .    .    .    .    8
  78.             Printer output redirected to a disk file.    .    .    .    9
  79.  
  80.        Memory and disk spooling.     .    .    .    .    .    .    .    11
  81.             Changing the internal buffer size. .    .    .    .    .    11
  82.             Simplified memory diagram.    .    .    .    .    .    .    12
  83.             Spooling to expanded memory.  .    .    .    .    .    .    13
  84.             Spooling to extended memory.  .    .    .    .    .    .    13
  85.             Extended memory - no XMM driver.   .    .    .    .    .    14
  86.             Extended memory with the XMM driver
  87.                  -the XMBLOCK program.    .    .    .    .    .    .    14
  88.             HMA memory spooling.     .    .    .    .    .    .    .    16
  89.             Spooling to disk.   .    .    .    .    .    .    .    .    16
  90.             Combination memory and disk spooling
  91.                  - more examples.    .    .    .    .    .    .    .    17
  92.  
  93.        Driver control commands and options.    .    .    .    .    .    19
  94.             Character strings in commands.     .    .    .    .    .    23
  95.             Character conversions - Escape sequences.    .    .    .    23
  96.             Control and Hi-bit characters.     .    .    .    .    .    24
  97.             Display conversions.     .    .    .    .    .    .    .    25
  98.        Spooler control.    .    .    .    .    .    .    .    .    .    26
  99.        Miscellaneous. .    .    .    .    .    .    .    .    .    .    27
  100.        Using the environment variable.    .    .    .    .    .    .    28
  101.        Using the configuration file. .    .    .    .    .    .    .    28
  102.  
  103.        DMP with more than one printer
  104.             - still more examples.   .    .    .    .    .    .    .    29
  105.        DMP and Word Processors. .    .    .    .    .    .    .    .    29
  106.  
  107.        Technical description..  .    .    .    .    .    .    .    .    30
  108.             How commands are interpreted. .    .    .    .    .    .    30
  109.             Details of program operation. .    .    .    .    .    .    30
  110.             Parallel port information.    .    .    .    .    .    .    32
  111.             Extended memory use guidelines.    .    .    .    .    .    33
  112.             System memory use and the Un-Install function.    .    .    34
  113.  
  114.        Command summary chart.   .    .    .    .    .    .    .    .    36
  115.        Registration and ordering information.  .    .     .    .    .    37
  116.  
  117.  
  118.  
  119.  
  120.                                   DMP 2.03 - page 1.
  121.        INTRODUCTION
  122.           DMP is a general purpose printer controller including very
  123.        versatile spooling capability.  It works on IBM PC/XT/AT and PS/2
  124.        computers and most compatibles, running under PC-DOS or MS-DOS
  125.        versions 2.0 thru 4.01.
  126.  
  127.        Some of DMP's major features are:
  128.           -Print to disk file option
  129.           -Support for serial port printers
  130.           -Spooling to any Dos-recognized disk
  131.           -Spooling to all common types of memory, including expanded and
  132.            extended, plus XMS spec extended.
  133.           -Selectable internal buffer size / system memory usage
  134.       -The ability to drive a wide range of printers at full speed.
  135.  
  136.           DMP is a true spooler in that it saves the printer output to non-
  137.        system memory or to disk as needed, instead of removing a large buffer
  138.        from system memory.  The choice of where to spool is yours.
  139.  
  140.           DMP is a memory resident program which uses approximately 16K bytes
  141.        of system memory.  The program is not compatible with the DOS 'PRINT'
  142.        utility, or with any other print spoolers or buffers for the primary
  143.        printer.  If you use DMP for a serial port printer, you must not use
  144.        the DOS "MODE" command to redirect output - DMP does it instead.
  145.  
  146.           DMP has been used with MS-DOS and PC-DOS versions 2.0 thru 4.01,
  147.        with Microsoft Windows 286 version 2.11, with Desqview version 2.26
  148.        and with numerous 'TSR' programs with no compatibility problems.
  149.  
  150.           The program disk also includes the utility "PF" for printing files
  151.        from a disk without using the DOS 'COPY' command.  PF is described in
  152.        detail below.  The syntax for PF is:  "PF filespec, filespec,..."  The
  153.        filespecs use the DOS file and directory conventions, and may include
  154.        wildcards, ? and *.
  155.  
  156.  
  157.        USER SUPPORTED SOFTWARE
  158.  
  159.           This program is copyrighted material for personal use on one
  160.        computer.  If you would like to continue to use DMP after a reasonable
  161.        evaluation period, send a check for registration to:
  162.  
  163.             DMP Software
  164.             204 East Second Ave.,  Suite 610
  165.             San Mateo,  CA  94401
  166.  
  167.           The registration is $18 until April 15, 1991.  After April 15, 1991
  168.        it is $29.
  169.  
  170.           You may use the order form at the end of the documentation if you
  171.        like.  The order form also includes price details.  If you do not use
  172.        the form, please make sure to include your name and address with your
  173.        payment.  For overseas orders or credit cards, please refer to the
  174.        order form and instructions.
  175.  
  176.           Anyone desiring to use the program on more than one computer must
  177.        purchase additonal copies or fill out and return the order form for
  178.        multiple copies.  Quantity and site license pricing details are
  179.  
  180.                                   DMP 2.03 - page 2.
  181.  
  182.  
  183.        included on the form.
  184.           No claims are made as to the program's suitability for any specific
  185.        purpose.  The author disavows responsibility for any damages resulting
  186.        from the use of this program.
  187.           Making copies of DMP for others or placement on electronic bulletin
  188.        boards is allowed and encouraged, as long as the programs and documen-
  189.        tation are transferred in their entirety, with no modifications.  If
  190.        you would like to post DMP on your favorite BBS, please use the
  191.        DMP.ARC file as you received it.
  192.  
  193.  
  194.        CONTENTS OF THE DMP.ARC FILE
  195.  
  196.        The DMP program incudes these files:
  197.           1.) DMP.COM; The main program.
  198.           2.) DMP.DOC; This documentation.
  199.           3.) PF.COM; 'Print Files' utility, described below.
  200.           4.) XMBLOCK.COM; Utility program to allow use of DMP with an XMM
  201.              driver and an extended memory ramdisk.
  202.           5.) DMPNEW.DOC; Updates and fixes since this manual was typeset.
  203.       The distribution disk also includes the XMS driver HIMEM.SYS,
  204.         Copyright Microsoft Corp., and the documentation HIMEM.TXT.
  205.  
  206.  
  207.        HOW TO USE THIS DOCUMENTATION
  208.  
  209.           This documentation is quite lengthy, and is best used as a
  210.        reference rather than a tutorial.  The sections above are important,
  211.        as well as the next few small sections on start-up, saving the config-
  212.        uration, and frequently used commands.  The section on spooler control
  213.        should be read after you have the program working.
  214.  
  215.           The rest of the manual describes the commands and options in
  216.        detail, and gives a technical description of how the program works.
  217.        Read the start-up section below, and anything else that interests you.
  218.        It is usually best to get the program printing something, then decide
  219.        which other features you might like and try them out.
  220.  
  221.           Commands are shown on a seperate line or in quotes, with optional
  222.        parameters in brackets.  They should be entered exactly as shown,
  223.        except they are not case sensitive.  All commands are a right slash
  224.        "/" followed by the command and other options.  Spaces are not allowed
  225.        between the slash and the command name, and commands may be seperated
  226.        by any number of spaces.
  227.  
  228.  
  229.        STARTING DMP - basic options & examples
  230.  
  231.           If you will be using DMP from your hard disk, copy it to a direc-
  232.        tory on your path - a directory where you keep utility programs or
  233.        device driver programs for DOS is usually a good choice.  The two most
  234.        important files to copy are DMP.COM and PF.COM, the main utilities.
  235.  
  236.  
  237.  
  238.  
  239.                                   DMP 2.03 - page 3.
  240.  
  241.        The XMBLOCK program and the HIMEM driver are only needed if you have
  242.        extended memory to use for spooling, on a 286 or later CPU.  If you
  243.        are not sure, keep them for now - delete them later after you read
  244.        this manual if you don't need them.  The documentation files can be
  245.        printed out for reference and deleted, or you can keep them to browse
  246.        if disk space is not at a premium.
  247.  
  248.           DMP has a large number of options, and there are default settings
  249.        for all of them.  The commands for all the options are detailed in
  250.        later sections.  Only the very basic startup commands are given here.
  251.        For most printers, the basics are all you will need!
  252.  
  253.           There are two important things you will want to tell DMP about your
  254.        system.  First is where to find your printer.  Second is where to
  255.        spool the data for the printer.
  256.  
  257.           You specify the connection to the printer with the "/LPT" command
  258.        for a parallel printer, with an optional port number after the LPT, or
  259.        the "/COM" command for a serial printer - the port number is needed
  260.        here.  For a serial printer, you should also specify the bit rate and
  261.        "handshake" signal, as shown in the examples below.  You can also
  262.        specify the data, parity, and stop bits parameters for a serial
  263.        printer, if the default values are not correct for your printer.
  264.  
  265.           You tell DMP where to spool the data with one or more "/MX"
  266.        commands for memory spooling or a "/Dx:" command for disk spooling.
  267.        The "/MX" commands are:
  268.           "/MX:nn" to set the internal buffer size to 'nn' Kbytes,
  269.           "/MXP" for expanded (LIM) memory,
  270.           "/MXT" for extended memory as found on IBM ATs and many other 80286
  271.              or later computers,
  272.           "/MXT xxx yyy" also for extended memory, to specify the maximum
  273.              amount (xxx) and starting place (yyy) in the extended memory,
  274.           "/MXAll" for both expanded and extended memory, and
  275.           "/MXAll xxx yyy" to use both expanded and extended and also specify
  276.              the maximum and start for extended memory as in "/MXT".
  277.  
  278.        The disk command, as mentioned above, is "/Dx:".  You need the colon,
  279.        and replace the "x" with the DOS drive letter you want to use.
  280.  
  281.         Startup Example 1:
  282.           Printer on BIOS default parallel port, spool to ramdisk D:
  283.             DMP /DD:
  284.  
  285.         Startup Example 2:
  286.           Printer on parallel port 1, spool to extended memory above a VDisk
  287.           at 1.5MB and to the VDisk itself as drive D:
  288.             DMP /LPT1 /DD: /MXT 0 512
  289.  
  290.         Startup Example 3:
  291.           Printer on serial port COM1 at 1200bps, using DSR handshake.  Spool
  292.           to expanded memory and hard disk C:
  293.         DMP /COM1 R1200 WDSR /MXP /DC:
  294.  
  295.  
  296.  
  297.  
  298.                                   DMP 2.03 - page 4.
  299.  
  300.  
  301.  
  302.           The commands in these examples can be entered in any order.  You
  303.        can also change the configuration of DMP at any time by entering new
  304.        commands.
  305.  
  306.           Like all the options, these basic ones have defaults.  The printer
  307.        default is the Bios parallel port.  The spooling default is to use the
  308.        internal 6K byte buffer only.  If you install DMP with no commands, it
  309.        will try to drive your printer this way.  (It will display a warning
  310.        for no spool buffers, but still work.)  If you specify a serial port
  311.        with "/COMn" with no other options, the default is 2400bps, CTS
  312.        handshake, 8 data, no parity, one stop bit.
  313.  
  314.  
  315.  
  316.        SAVING YOUR CONFIGURATION
  317.  
  318.           After you have entered a command string similar to one of the
  319.        above, and printed a page or two using DMP, save the configuration to
  320.        disk with the command "DMP /WCF".  (It stands for "Write Configuration
  321.        File".)  From now on you can install the program with just DMP, and
  322.        your previous option settings will be used.  When it starts up, DMP
  323.        displays a summary of it's configuration so you can verify your option
  324.        settings.
  325.  
  326.           When you enter this command, DMP writes a file named "DMP.CFG" to
  327.        the drive and directory where DMP itself is found (current directory
  328.        under DOS 2).  This file contains all the options you have selected,
  329.        including the ones not yet explained here.  When DMP is installed it
  330.        finds this file and uses the settings in it.
  331.  
  332.           A seperate section at the end of this manual describes what is
  333.        saved in the configuration file and how to use it.
  334.  
  335.           A word of caution: If you move DMP to another computer, it is best
  336.        to delete the DMP.CFG file and set up the options from scratch on the
  337.        new system, unless the computer and printer configurations are
  338.        completely identical.
  339.  
  340.  
  341.        REMOVING DMP FROM MEMORY
  342.  
  343.           The command to remove DMP from memory is DMP /UN.  When the "/UN"
  344.        command is entered, any other commands on the command line are
  345.        ignored.  If the program is not installed it will display an error
  346.        message and will not install.  If more than 500 bytes are spooled for
  347.        printing when you issue this command the program will ask for confir-
  348.        mation before flushing all spool buffers.  If another resident program
  349.        would prevent release of DMP from memory, DMP will display an error
  350.        message and remain installed.
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.                                   DMP 2.03 - page 5.
  358.  
  359.           The effects of this command are to replace the interrupt vectors
  360.        DMP uses with their previous values, erase any data spooled for
  361.        printing, and free the memory DMP was using back to the pool of DOS
  362.        memory.  See the technical section near the end of this documentation
  363.        for more details on the un-install function, and for some precautions
  364.        to observe when using another utility program to remove DMP from
  365.        memory.
  366.  
  367.  
  368.        FREQUENTLY USED COMMANDS - EXAMPLES
  369.  
  370.           These examples are shown with very little explanation.  They show
  371.        some of the capabilities of DMP, and should give you some ideas for
  372.        which features you want to try out.  Detailed descriptions for all the
  373.        commands are in the sections following.
  374.  
  375.        Example 1:  Parallel printer, text only, spool to hard disk C:,
  376.        simulate form feeds with line feeds, expand tabs, skip perforation.
  377.  
  378.           Load spooler:
  379.              DMP /DC:/F-/T+/V65
  380.  
  381.           Allow graphics printing temporary, i.e. don't convert tab and form-
  382.           feed characters:
  383.              DMP /G+
  384.  
  385.           Re-enable character conversion features:
  386.              DMP /G-
  387.  
  388.        Example 2: DMP is already installed for a parallel printer.
  389.  
  390.           Kill spooler output and empty buffers (e.g. paper jam):
  391.              DMP /SK
  392.  
  393.           Print files ABC.TXT and all files with extension .DOC in directory
  394.           \docs on disk drive C:
  395.              PF C:\DOCS\ABC.TXT C:\DOCS\*.DOC
  396.  
  397.           Send printer output to file PRINTOUT.TXT in the current directory:
  398.              DMP /PFPRINTOUT.TXT
  399.  
  400.           Send output back to parallel printer:
  401.              DMP /LPT
  402.           Suspend spooler output:
  403.              DMP /S-
  404.           (Data continues spooling, printer stops.)
  405.  
  406.           Restart spooler output:
  407.              DMP /S+
  408.  
  409.        Example 3:  Parallel printer connected as LPT1:, text only, spool to
  410.        ramdisk D:, send sequence 'Esc&k0S' to reset printer on startup. (
  411.        You've checked the printer manual!)  Prevent character ^U from being
  412.        sent to printer.
  413.           Load spooler:
  414.              DMP /DD: /LPT1 /C27,"&k0S"/X15-
  415.  
  416.                                   DMP 2.03 - page 6.
  417.  
  418.        Example 4: Serial printer connected to COM1, text only, 1200bps, 7
  419.        data, even parity, one stop bit, printer busy signal connected to DSR
  420.        line, spool to hard disk C:.
  421.  
  422.           Load spooler:
  423.              DMP /DC: /COM1 R1200 7E1 WDSR
  424.  
  425.           Printer output to disk file DATA.123 on drive A:, append output to
  426.           existing file:
  427.              DMP /AFA:\DATA.123
  428.  
  429.           Change output to parallel printer and spool to ramdisk.  (No data
  430.           spooled for printing.):
  431.              DMP /DD:/LPT
  432.  
  433.           Switch back to serial printer, leave spooling set to ramdisk:
  434.              DMP /COM1
  435.  
  436.           You will probably need to read more details about these commands in
  437.        some cases, especially if you have a serial port printer with
  438.        parameters other than those shown, if you have an 80286 (or later) CPU
  439.        and you want to use combinations of different types of memory, or if
  440.        you want to enter some complex character conversions.
  441.  
  442.  
  443.  
  444.        FILE PRINT UTILITY - PF
  445.  
  446.           The utility program PF.COM is intended for printing disk files
  447.        directly, from the DOS prompt.  It is used by entering PF followed by
  448.        the names of the files to be printed.  PF accepts full DOS path spec-
  449.        ifications as well as the DOS wildcard specifiers * and ? for printing
  450.        groups of files.
  451.  
  452.           PF accepts one parameter in addition to the file specifications:
  453.        "/F-" or "/F+" to turn off or on automatic form-feeds.  The default is
  454.        to send a form-feed to the printer after each file printed.  Entering
  455.        "/F-" turns this feature off for file specs on the command line after
  456.        the command.  "/F+" turns it back on.  The examples below should make
  457.        the use of this command clear.
  458.  
  459.           PF is useful for printing files output by word processors,
  460.        compilers, data base programs, etc. that are in "ready to print" form,
  461.        plus the "documentation on disk" many programs include.
  462.  
  463.           The PF program can also be used for later printing of files
  464.        generated by the "Print-to-disk" option.  PF does no conversion
  465.        itself, and may be used with or without DMP installed.  It's intent,
  466.        however, is to spool data for printing with DMP, then allow the
  467.        computer to be used for other purposes while the printing takes place.
  468.           Please do not confuse this separate utility with the DMP command
  469.        "DMP /PF" for directing printer output to a disk file.
  470.  
  471.  
  472.  
  473.  
  474.  
  475.                                                               DMP 2.03 - page 7.
  476.       Some examples for PF:
  477.  
  478.        PF ABC.TXT /F- DEF.TXT /F+ GHI.TXT
  479.        File ABC.TXT is printed, the page is elected, files DEF.TXT and
  480.        GHI.TXT are printed with no form-feed between, and a form-feed follows
  481.        GHI.TXT.
  482.  
  483.        PF *.TXT /F- *.DOC
  484.        Files in the current directory with extension ".TXT" are printed with
  485.        a form-feed between each file.  Files with extension ".DOC" are
  486.        printed without form feeds.
  487.  
  488.  
  489.        SELECTION OF OUTPUT
  490.  
  491.           The spooler output can be sent to a parallel port, a serial port,
  492.        or a disk file.  The next three sections tell you how.
  493.  
  494.  
  495.        PRINTER CONNECTED TO A PARALLEL PORT.
  496.  
  497.        There are four parallel port selection commands:
  498.           DMP /LPT      BIOS designated printer (default)
  499.           DMP /LPT1     Printer output goes to port 1, 2 or 3.
  500.           DMP /LPT2
  501.           DMP /LPT3
  502.        These commands can be followed by a colon, and a two digit number for
  503.        the maximum output speed to the parallel port, such as "DMP /LPT2:75".
  504.  
  505.        Valid numbers for the output speed are 0 to 99.  The default setting
  506.        is 75.  It is usually not necessary to change the maximum speed, but
  507.        there are two cases where you may want to change it.
  508.  
  509.        1.) Your computer slows down too much while printing.  Reduce the
  510.        speed by 10 or 20 counts.  The printer will slow down, but you will
  511.        get more processing power from your computer for other programs.
  512.  
  513.        2.) Your printer does not run at full speed.  Increasing the speed
  514.        setting in this case will work only if DMP is already running at the
  515.        maximum setting.  Enter "DMP" by itself on the command line while the
  516.        printer is running and observe the report for the parallel printer.
  517.        If the speed setting matches the maximum speed available, you can
  518.        speed up the printer by entering a higher maximum.
  519.  
  520.        For compatibility with older versions, DMP also responds to "/B"
  521.        commands for selecting a specific parallel port.  You can use these
  522.        commands instead of the "/LPT" commands if you like, but they are
  523.        usually not needed.  See the technical section on parallel ports for
  524.        details on how to select a specific port address with the "/B"
  525.        command, or if you are interested in more details about parallel
  526.        ports.
  527.  
  528.        The "/LPT" command can be entered at any time.  It has several
  529.        important effects:
  530.           -If serial port output was on, it is turned off.
  531.           -If Print-to-File was on, the file is closed.
  532.           -Character conversions are turned on in the last mode selected.
  533.  
  534.                                   DMP 2.03 - page 8.
  535.  
  536.           A confirmation is displayed for the parallel port selected.  When
  537.        you save the configuration with the "/WCF" command, the parameters for
  538.        the parallel port are saved so you don't need to re-enter the details.
  539.  
  540.           This command is also useful for switching output between two
  541.        parallel printers.
  542.  
  543.           If you don't enter any "/LPT" command, or enter a "/LPT" command
  544.        without a number DMP checks for a printer port designation in the BIOS
  545.        data area.  Once a parallel port has been selected, the "/LPT" command
  546.        with no number will cause output to go to the selected port.
  547.  
  548.  
  549.        PRINTER CONNECTED TO A SERIAL PORT.
  550.  
  551.        There are just two basic commands for a serial port:  DMP /COM1  and
  552.        DMP /COM2  for ports COM1 and COM2.
  553.  
  554.           These commands can be followed by "R" or "W" commands to select the
  555.        bit rate and hardware handshake signal.  The /COM commands can also
  556.        include the data, parity, stop parameters in a format like "8N1".  The
  557.        full syntax for the "/COM" command is:  DMP /COMn [Rxxx] [DPS] [Wyyy]
  558.        The items in brackets are optional.  Do not type the brackets.  'n' is
  559.        the port number.  'xxx' is the bit rate in bps, from 300 to 19200.
  560.        DPS are the data, parity, stop parameters.  The data bits may be 7 or
  561.        8; parity may be N for none, E for even, O for odd; stop bits may be 1
  562.        or 2.   'yyy' is the handshake signal to use, selected from CTS, DCD,
  563.        DSR, or RI.  Control via XOn/XOff is always enabled, in case the
  564.        printer uses it.  The examples below will make the syntax clearer.
  565.  
  566.        The serial port command may be entered at any time.  The effects are
  567.        as follows:
  568.           -If parallel port output was on, it is turned off.
  569.           -If Print-to-File was on, the file is closed.
  570.           -Character conversions are turned on in the last mode selected.
  571.           -A confirmation is displayed for the port selected, bit rate, data,
  572.            parity and stop parameters, handshake signal, and type of conver-
  573.            sion now in effect.
  574.  
  575.           Note the printer must NOT be redirected with the DOS 'MODE' command
  576.        or any other software.  Use the '/COM' or '/LPT' commands if you want
  577.        to switch between serial and parallel printers.
  578.  
  579.           The port number must be specified when this command is first
  580.        entered.  The rate and handshake signal default to 2400bps and CTS,
  581.        respectively.  The other parameters default to 8 data, no parity, 1
  582.        stop bit (8N1).  Once the parameters have been selected, or loaded
  583.        from the configuration file, you can switch the serial port on with
  584.        just  DMP /COM.   The previously selected parameters are used.
  585.  
  586.           The optional "R" parameter sets the bit rate.  Do not enter any "/"
  587.        or "[" between the port select and 'R'.  The optional data, parity,
  588.        stop parameters must follow the "R" command, if they are to be used.
  589.        These parameters may be changed after the serial printer has been
  590.        selected.
  591.  
  592.  
  593.                                   DMP 2.03 - page 9.
  594.  
  595.           The optional 'W' parameter selects the serial port signal to be
  596.        used as the printer 'busy' signal.  The selected signal should be
  597.        connected to the printer output signal for stopping serial input.  The
  598.        signal designations and pin numbers for a 25-pin (PC/XT) and 9-pin
  599.        (AT) connectors are as follows:
  600.  
  601.           Computer connector:        25pin          9pin
  602.           CTS - Clear to send  -     pin 5          pin 8
  603.           DCD - Carrier detect -     pin 8          pin 1
  604.           DSR - Data set ready -     pin 6          pin 6
  605.           RI  - Ring indicator -     pin 22         pin 9
  606.  
  607.           DMP also includes pacing via 'XOn/XOff' from the printer.  This
  608.        function cannot be disabled.  If the printer does not use it, this
  609.        will have no effect.  If the printer does send 'XOff' characters to
  610.        control output, a hardware pacing signal may still be selected.  The
  611.        hardware signal should be disabled on the connector (either end) if it
  612.        is desired to use only the 'XOn/XOff' control.  If the output to the
  613.        printer is stopped by 'XOff', it will restart when the printer sends
  614.        an 'XOn'.  DMP also times out the XOff status to allow for some
  615.        printers that do not properly restart transmission with 'XOn'.
  616.  
  617.        Serial printer examples:
  618.           Select COM1, 2400bps, 8data, no parity, 1 stop bit, CTS handshake:
  619.           DMP /COM1 R2400 WCTS
  620.           Select COM2, DCD handshake.  Other parameters as is:  DMP /COM2WDCD
  621.           Select COM1, 9600bps, 7 data, even parity, 1 stop bit, DSR
  622.           handshake:
  623.             DMP /COM1 R9600 7E1 WDSR
  624.  
  625.  
  626.        PRINTER OUTPUT REDIRECTED TO A DISK FILE.
  627.  
  628.        The three commands for sending printer output to a disk file are:
  629.           DMP /PFfilespec,
  630.           DMP /AFfilespec, and
  631.           DMP /OFfilespec
  632.  
  633.           The command names stand for "Print File", "Append File" and
  634.        "Overwrite File".  If the given file does not exist, all three will
  635.        operate identically.  The file will be created and subsequent printer
  636.        output will go to the file.
  637.  
  638.           If the file already exists, the commands operate as follows.  The
  639.        "/PF..." command will find the file, and ask if you want to append,
  640.        overwrite or cancel the command.  The "/AF" and "/OF" commands will
  641.        append or overwrite the file without asking.  A confirmation message
  642.        is displayed.
  643.  
  644.           This command allows only two possibilities for specifying the
  645.        filename.  The first is a filename only, with no drive or directory
  646.        specifiers, such as "OUTPUT.PTR".  This causes the file to be created
  647.        (or appended to) in the current drive/directory.  The second method is
  648.        full path and filename, starting from the root directory of any DOS
  649.        recognized drive, like "A:\DOC.TXT".  Note the backslash must be used
  650.  
  651.  
  652.                                  DMP 2.03 - page 10.
  653.  
  654.        to specify the root directory of a drive (unless it is the current
  655.        directory).  A:\DOS.TXT is correct.  A:DOC.TXT is NOT correct and will
  656.        generate an error message.
  657.  
  658.           The file being printed to does not have to be on the same disk used
  659.        for the spool files while printing to the printer.
  660.  
  661.           Character conversions are turned off while printing to a disk file.
  662.  
  663.           This command is cancelled by the "/LPT" or "/COM" commands to
  664.        direct output back to the serial or parallel printer.  It may also be
  665.        cancelled by '/PF-'.  This will cause printer output to go back to the
  666.        printer port that was in use before the Print-to-disk function was
  667.        started.
  668.  
  669.           If the "Print-to-disk" function is enabled while there is data
  670.        spooled to be printed, the spooled data will continue to print until
  671.        it is finished or the spooler is aborted by command.  Any additional
  672.        data sent from a running program or from DOS to the printer after
  673.        "Print-to-disk" is started will go to the disk file.
  674.  
  675.           Please do not confuse this command with the separate utility "PF".
  676.        This command is for sending printer data to a disk file.  The PF
  677.        utility is for sending an existing file to the printer.
  678.  
  679.        Examples:
  680.           DMP /PFC:\DOCS\PRINTOUT.TXT   -  Printer output goes to file
  681.           "printout.txt" in directory "docs" on drive C until cancelled.
  682.  
  683.           DMP /OFPRTEXT   -  Printer output goes to file "prtext" in the
  684.           current directory. If the file exists it is erased and re-written.
  685.  
  686.           DMP /LPT   -  If printer output had been set to a file, it is
  687.       directed to the parallel port. The file is closed.
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.                                                              DMP 2.03 - page 11.
  712.  
  713.  
  714.        MEMORY AND DISK SPOOLING
  715.  
  716.        The memory spooling commands are:
  717.  
  718.           DMP /MX:nn to set the internal buffer size,
  719.           DMP /MXP for expanded,
  720.           DMP /MXT [xxx] [yyy] for extended,
  721.           DMP /MXAll [xxx] [yyy] for both, and
  722.           DMP /MXNone to stop using memory buffers after they had been
  723.               enabled.
  724.  
  725.        The memory spooling parameters can also be set by using the DOS
  726.        environment variable if desired.  This is discussed in the section on
  727.        environment variables.
  728.  
  729.        The disk spooling command is:
  730.           DMP /Dx:  where x is the DOS disk to be used for spooling.
  731.  
  732.           The memory diagram on the next page should help clarify some of the
  733.        terms in the command descriptions.
  734.  
  735.  
  736.        CHANGING THE INTERNAL BUFFER SIZE
  737.  
  738.           The default internal buffer size is 6K bytes.  You can change it,
  739.        during installation of the program only, with the "DMP /MX:nn"
  740.        command.  'nn' is the size to use in Kbytes (1024 byte chunks), and
  741.        must be one of the following numbers:  4, 8, 12, 16, 24, 32, or 40.
  742.  
  743.           It is normally not necessary to change the buffer size.  A larger
  744.        buffer may help if you do not have any expanded or extended memory to
  745.        use for spooling, and you must use a physical disk (not a ramdisk).
  746.        There is almost no effect on performance of the spooler when using
  747.        memory buffers.  The larger buffer will of course cause more DOS
  748.        memory to be used by the spooler.
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.                                                              DMP 2.03 - page 12.
  771.  
  772.            +-----------------------------------------------------+
  773.            | ** Expanded memory ( up to 8 MB )                   |
  774.            +-----------------------------------------------------+
  775.        
  776.        
  777.            |                     Top of Memory on 80286 +        | Up to 16MB
  778.            |                                                     |
  779.            |     **                                              |
  780.            |.....................................................|
  781.            |     **                                              |
  782.            |                                                     |
  783.            |     Possible XMM Extended Memory Block              |
  784.            |.....................................................|
  785.            |.....................................................|
  786.            |                                                     |
  787.            |                                                     |
  788.            |                                                     |
  789.            |     Possible configurable Ramdisk begin.            |
  790.            |-----------------------------------------------------| 1088K
  791.            |     **                                              |
  792.            |                The High Memory Area  (HMA)          |
  793.            |                                                     |
  794.            |                                    | /\       /\    |
  795.            | Begin extended mem. Possible VDISK | 80286 + only   |
  796.            |====================================================|1024K or 1MB
  797.            | End reserved area.       Top of mem on 8088 PCs     |
  798.            |         System Bios                                 |
  799.            |     ................................................|
  800.            |     ................................................|
  801.            |         Network adaptor firmware                    |
  802.            |     ................................................|
  803.            |     ................................................|
  804.            |         Disk adaptor firmware                       |
  805.            |     ................................................|
  806.            |     ................................................|
  807.            |         EMS page frame                              |
  808.            |     ................................................|
  809.            |     ................................................|
  810.            |         Video adaptor display mem & firmware        |
  811.            |     ................................................|
  812.            | Begin reserved area.                                |
  813.            |-----------------------------------------------------| 640K
  814.            |                                                     |
  815.            |                                                     |
  816.            |                                                     |
  817.            |           Conventional or DOS Memory                |
  818.            |                                                     |
  819.            |                                                     |
  820.            |                                                     |
  821.            |.....................................................|
  822.            | Interrupt vectors, Bios data, Dos, Tsr's, etc.      |
  823.            +-----------------------------------------------------+ 0K
  824.  
  825.  
  826.       Figure 1.  Simplified memory diagram.
  827.  
  828.  
  829.                                  DMP 2.03 - page 13.
  830.  
  831.        SPOOLING TO EXPANDED MEMORY.
  832.  
  833.           Simply install the program with  DMP /MXP.   DMP will verify the
  834.        presence of the EMM manager, and availability of at least 64K for
  835.        spooling.  The EMS memory use and availability will be shown on the
  836.        summary display.  The memory is allocated thru the EMM manager when
  837.        needed, and released when done.  None is reserved permanently.
  838.  
  839.           -- Example --
  840.        In CONFIG.SYS:
  841.        ...
  842.        DEVICE = EMM.SYS    (name of your EMM manager)
  843.        ...
  844.  
  845.        In AUTOEXEC.BAT, or enter from the DOS prompt:
  846.  
  847.        DMP /MXP /other options as desired.
  848.  
  849.           Expanded memory is "bank switched" in and out of the PC's address
  850.        space as needed.  This type of memory can be added to any type of DOS
  851.        computer, including 8088 based PCs.  An EMM driver is a program that
  852.        manages expanded memory.  This program is usually supplied when you
  853.        buy an expanded memory board.
  854.  
  855.           If you have a 80386 (or later) processor, there are some programs
  856.        that will allow you to use your memory above 640k for expanded,
  857.        extended, or several other functions.  DMP can spool to either
  858.        expanded or extended memory as set up by such a program.  If you are
  859.        not sure, use the extra memory as expanded (LIM) memory and allow DMP
  860.        to spool to expanded.  The technical section near the end of this
  861.        documentation contains more details on this subject.
  862.  
  863.           DMP will work with an EMM manager supporting LIM 3.20 or later.
  864.        Use of expanded memory can be turned on at any time with  DMP /MXP,
  865.        and stopped at any time with  DMP /MXNone.  If the memory is being
  866.        used by the spooler when it is turned off, the data will continue to
  867.        print until finished, but no new data will be added to EMM memory.
  868.  
  869.           Expanded memory is supported by many commercial programs via the
  870.        EMM driver.  It is a good place for spooling because it can be
  871.        accessed quickly, and it is allocated and de-allocated as needed,
  872.        allowing optimum use of the memory.
  873.  
  874.  
  875.        SPOOLING TO EXTENDED MEMORY
  876.  
  877.           Extended memory is memory above the 1 MB address range.  It is
  878.        available only on 80286 or later CPUs, which are capable of addressing
  879.        memory in this range.  Under DOS, the only standard use of this memory
  880.        is for a ramdisk.  Some commercial programs support it, but very few
  881.        compared to those supporting expanded memory.
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.                                                              DMP 2.03 - page 14.
  889.  
  890.  
  891.        EXTENDED MEMORY - NO XMM driver.
  892.  
  893.        Install the program with  DMP /MXT [xxx] [yyy].
  894.        [xxx] is the maximum amount of memory the spooler is allowed to use.
  895.        [yyy] is the start address ABOVE 1MB.  Do not type the brackets.  Both
  896.        xxx and yyy represent numbers in Kbytes.
  897.  
  898.           If no parameters are specified DMP will use all memory as reported
  899.        by the Bios.  If the first parameter is zero or is greater than the
  900.        amount available, DMP will use the amount available.
  901.  
  902.           This format is intended to be compatible with the VDISK program, or
  903.        to allow all extended memory to be used for spooling (no ramdisk).
  904.  
  905.           -- Example --
  906.        You have an 80286 machine with 2 MB total memory, all conventional.
  907.        You would like to use 640K for DOS, 1MB for ramdisk, 384K for
  908.        spooling.
  909.  
  910.        In CONFIG.SYS:
  911.        ...
  912.        DEVICE = VDISK.SYS 1024 512 128 /E
  913.        ...
  914.  
  915.        In AUTOEXEC.BAT, or enter from the DOS prompt:
  916.        DMP /MXT 384 1024 / other options as desired.
  917.  
  918.           The most important point in this example is that the spooler is
  919.        told to start at 1024K above 1MB - which is where the VDISK stops.
  920.        The first parameter to DMP (384 in the example) could have been a
  921.        zero, or a number greater than 384 to acheive the same result.
  922.  
  923.           Use of extended memory can be turned on at any time with  DMP /MXT,
  924.        and stopped at any time with the  DMP /MXNone.  If the memory is being
  925.        used by the spooler when it is turned off, the data will continue to
  926.        print until finished, but no new data will be added to extended
  927.        memory.  You can only change the amount and start parameters by using
  928.        DMP /MXNone  when no data is spooled, then re-starting with a new  DMP
  929.        /MXT  command.
  930.  
  931.           The VDISK program supplied with DOS simulates a disk drive in ex-
  932.        tended memory.  VDISK always starts from the 1 Mb address and uses as
  933.        much as you tell it to.  Some other ramdisks can use selectable
  934.        portions of extended memory with higher start addresses.  DMP is sel-
  935.        ectable.  To use extended memory for both a ramdisk and DMP, you must
  936.        command the two programs to use different portions of memory.
  937.  
  938.  
  939.        EXTENDED MEMORY WITH THE XMM driver
  940.           -the XMBLOCK program.
  941.  
  942.           Install the program with  DMP /MXT.  The command is the same as for
  943.        conventional extended, without numbers.  Any parameters after the com-
  944.        mand are ignored if the XMM driver is found.
  945.  
  946.  
  947.                                  DMP 2.03 - page 15.
  948.  
  949.           If the HMA is available, DMP will use it and report it on the
  950.        summary.  The HMA is reserved for spooling if it is found.  Other
  951.        extended memory being managed by the driver is allocated as needed and
  952.        released when done.  The XMM driver and HMA memory are discussed
  953.        below.
  954.  
  955.           -- Example --
  956.        In CONFIG.SYS:
  957.        ...
  958.        DEVICE = HIMEM.SYS    (or other XMM manager)
  959.        ...
  960.  
  961.        In AUTOEXEC.BAT, or enter from the DOS prompt:
  962.  
  963.        DMP /MXT / other options as desired.
  964.  
  965.           An XMM driver is a program to manage extended memory in a similar
  966.        fashion to that specified in the LIM standard for expanded memory.
  967.        DMP is compatible with the published specification called XMS from
  968.        Microsoft.  The free Microsoft driver program called HIMEM.SYS is
  969.        supplied on the distribution disk for DMP.  It is also available on
  970.        many BBS systems for anyone with a 80286 CPU who would like to use it.
  971.        If you have another version of HIMEM.SYS you have been using with
  972.        other software (such as Microsoft Windows), it is a good idea to keep
  973.        using your version, even if this one is newer.  DMP will try to work
  974.        with any version of HIMEM.SYS or any other XMM driver conforming to
  975.        the standard.
  976.  
  977.           Note XMM drivers are not compatible with VDISK for versions of DOS
  978.        prior to 4.0, and will refuse to load if VDISK is installed.  They can
  979.        be made compatible with some other ramdisks by using the XMBLOCK
  980.        program supplied with DMP.  This is only possible if the ramdisk can
  981.        be commanded to start above the HMA memory.
  982.  
  983.           The 'proper' way to use extended memory for a ramdisk is to have
  984.        the ramdisk program allocate what it needs through the XMM driver.  If
  985.        your ramdisk uses XMM memory, DMP can do extended memory spooling in
  986.        the portion not used by the ramdisk.
  987.  
  988.           If your ramdisk is not aware of the XMM driver, the XMBLOCK program
  989.        allows you to block off memory already taken by a ramdisk, without the
  990.        XMM driver's knowledge.  The remainder of extended memory can then be
  991.        managed by the XMM driver.  XMBLOCK is not a resident program - it
  992.        uses no memory itself.
  993.  
  994.           The syntax for the XMBLOCK program is "XMBLOCK nnn" where nnn is
  995.        the amount of memory in Kbytes to be blocked off ABOVE the HMA.  There
  996.        is an example under combination spooling, below.
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.                                                              DMP 2.03 - page 16.
  1007.  
  1008.  
  1009.        HMA MEMORY SPOOLING
  1010.  
  1011.           The XMM specification and XMM drivers support a 'trick' memory area
  1012.        on 80286 and later processors called the HMA - High Memory Area.  This
  1013.        is shown on the diagram in figure 1.
  1014.  
  1015.           DMP can use the HMA for spooling, but only through the XMM driver.
  1016.        If the driver is present and reports the HMA available, it will be
  1017.        used for spooling.  The size of the HMA is 65520 bytes (64K - 16), and
  1018.        it can be accessed quickly, so it is a good candidate for spooling if
  1019.        you have no preferred use for it.
  1020.  
  1021.           The HMA does not add anything to your available extended memory,
  1022.        but it does allow access to it in a different way that is faster than
  1023.        the standard method.  The technical section near the end of this
  1024.        manual explains how to prevent DMP from using the HMA for spooling,
  1025.        while still using the XMM driver.
  1026.  
  1027.  
  1028.        SPOOLING TO DISK
  1029.  
  1030.           Select a disk drive for spooling with  DMP /Dx: where x is the
  1031.        drive to be used for spooling.  You need the colon.
  1032.  
  1033.           A disk drive may be selected when DMP is first installed or any
  1034.        time later.  The drive can be changed if there are no spool files
  1035.        active.  The command will work if there is data in the memory buffers,
  1036.        as long as nothing is spooled to the disk.
  1037.  
  1038.           You can stop disk spooling at any time with  DMP /DNONE.  Any data
  1039.        spooled to disk when this command is entered will continue to print,
  1040.        but no new data will be added to the disk.
  1041.  
  1042.           DMP is compatible with any disk recognized by DOS.  A ramdisk is a
  1043.        very good candidate for spooling because of it's speed.  The time
  1044.        taken by the spooler will usually not be noticeable with a ramdisk.  A
  1045.        hard disk is convenient for large print files.  A floppy or any
  1046.        removable disk is NOT recommended, as removing the diskette while the
  1047.        spooler is operating can cause the system to crash.  Also, the I/O is
  1048.        very slow and will use noticeable portions of computer time while
  1049.        printing.
  1050.  
  1051.           DMP will create disk files with filenames $PSPOOL.nnn, where 'nnn'
  1052.        ranges from '000' to 'FFF' (hexadecimal).  The files may vary in size
  1053.        from 4K up to 32K bytes each if a lot of information is spooled.  The
  1054.        files are written as printer output is generated, then read and
  1055.        deleted when the information is printed.  The files are also deleted
  1056.        if the spooler is flushed or DMP is un-installed.
  1057.  
  1058.           The spool files are written to the 'root' directory of the
  1059.        designated drive.  Subdirectories on a hard disk can be used via the
  1060.        DOS 'SUBST' command.  No filenames should be used on the system which
  1061.        match the program's format.  The files are not marked as 'hidden' or
  1062.        'system', so they will show up in directory listings made while the
  1063.  
  1064.  
  1065.                                  DMP 2.03 - page 17.
  1066.  
  1067.        spooler is running.  If the system is stopped or rebooted while the
  1068.        spooler is running, extra files will be left on the disk.  This will
  1069.        not interfere with the operation of the spooler when it is reloaded,
  1070.        but the files should be deleted to free up the disk space.
  1071.  
  1072.  
  1073.        COMBINATION MEMORY AND DISK SPOOLING
  1074.         - MORE EXAMPLES
  1075.  
  1076.           Disk spooling can be done with extended and/or expanded memory
  1077.        spooling in any combination by the appropriate commands as shown
  1078.        above.  If all types of spooling are enabled, DMP will use them in the
  1079.        following order:
  1080.           1. Internal buffers (6K bytes).
  1081.           2. HMA memory.
  1082.           3. Expanded memory.
  1083.           4. Extended memory via XMM driver if present, or via Bios if not.
  1084.           5. Disk.
  1085.  
  1086.           There are two basic advantages to using expanded or extended memory
  1087.        for spooling instead of a disk.
  1088.           1. Access is faster, so less CPU time is used by the spooler and
  1089.             the printer still runs full speed.
  1090.           2. It does not have any contention problems like DOS has when using
  1091.             it for disk access.  The Bios and both types of memory driver
  1092.             programs can be called by the spooler without fear of 'running
  1093.             into' your application software (spreadsheet, word processor,
  1094.             etc.).
  1095.  
  1096.           The disadvantage is that memory being used for spooling is of
  1097.        course unavailable for any other programs.  DMP allows you to make the
  1098.        tradeoff as you desire.
  1099.  
  1100.        Example 1:  XMM driver with ramdisk & spooler.
  1101.        This is based on an 80286 computer with 2MB total memory. The XMM
  1102.        driver is available.  Desired memory use is 640K for DOS, 896K for
  1103.        ramdisk, 512K for the spooler.  In addition, the spooler will be
  1104.        allowed to use the ramdisk if it fills the rest of memory.
  1105.  
  1106.        In CONFIG.SYS:
  1107.        ...
  1108.        DEVICE = HIMEM.SYS    (Name of XMM driver)
  1109.  
  1110.        DEVICE = FASTDISK.SYS /M=896 /EXTM=0,1088
  1111.                  (Name of ramdisk, with commands)
  1112.        ...
  1113.  
  1114.        In AUTOEXEC.BAT:
  1115.        ...
  1116.        XMBLOCK 896         (block off ramdisk portion)
  1117.        DMP /MXT /DE:       (spooler uses XMM driver
  1118.        ...                      and ramdisk E:)
  1119.  
  1120.        In this example, the ramdisk program is commanded to start above the
  1121.        HMA memory, and use 896K bytes.    Use commands needed for your ramdisk.
  1122.  
  1123.  
  1124.                                  DMP 2.03 - page 18.
  1125.  
  1126.        The memory used by the ramdisk is then blocked off by XMBLOCK so the
  1127.        driver will not allow it to be allocated.  DMP then discovers the
  1128.        driver with 448K bytes available when needed for spooling, plus the
  1129.        HMA with 64K bytes.
  1130.  
  1131.        Example 2:  Expanded and extended memory with simulator
  1132.        The hypothetical configuration is an 80286 cpu with 1MB of memory on
  1133.        the motherboard plus an expanded memory board with 1.5MB.  The XMM
  1134.        driver is not used. Desired memory use is 640K for DOS,  1MB ramdisk,
  1135.        remainder of expanded memory for applications and spooling as needed.
  1136.  
  1137.        In CONFIG.SYS:
  1138.        ...
  1139.        DEVICE = EMS32.SYS /options
  1140.                            (name of EMM driver)
  1141.        DEVICE = REX.SYS 768  (name of simulator)
  1142.        DEVICE = VDISK.SYS 1O24 512 128
  1143.                            (install ramdisk)
  1144.        ...
  1145.  
  1146.        In AUTOEXEC.BAT:
  1147.  
  1148.        DMP /MXP
  1149.  
  1150.        The EMM driver is installed, the simulator is told to take 768K of
  1151.        expanded memory and use it as extended memory, and the ramdisk is told
  1152.        to use all the extended memory (384K + 768K).  DMP then finds the
  1153.        expanded memory available to be 896K bytes, and will share it with
  1154.        application programs as needed.
  1155.  
  1156.  
  1157.        Example 3:  386 Driver program, expanded memory and ramdisk spooling
  1158.        The configuration is an 80386 CPU with 4MB of memory, all extended.
  1159.  
  1160.        Desired memory use is simulated expanded for spooling, then ramdisk
  1161.        when the available memory fills.  The ramdisk is drive D:.
  1162.  
  1163.        In CONFIG.SYS:
  1164.        ...
  1165.        DEVICE = QEMM386.SYS /options
  1166.                            (name of driver)
  1167.        DEVICE = RAMDRIVE.SYS 512 /e
  1168.                            (install ramdisk)
  1169.        ...
  1170.  
  1171.        In AUTOEXEC.BAT:
  1172.        DMP /MXP /DD:
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.                                                              DMP 2.03 - page 19.
  1184.  
  1185.        DRIVER CONTROL COMMANDS AND OPTIONS
  1186.  
  1187.           The type of output spooled and printed is controlled by the
  1188.        following commands.
  1189.  
  1190.        Graphics/binary mode on/off:
  1191.       DMP /G+  or  DMP /G-
  1192.  
  1193.        Send/don't send auto line-feeds:
  1194.           DMP /L+  or  DMP /L-
  1195.        Printer has/doesn't have auto line feed:
  1196.           DMP /A+  or  DMP /A-
  1197.        Allow/don't allow line-feeds from application:
  1198.       DMP /U+  or  DMP /U-
  1199.  
  1200.        Printer has/doesn't have form-feed function:
  1201.           DMP /F+  or  DMP /F-
  1202.  
  1203.        Physical page length is 'nn':
  1204.           DMP /Pnn
  1205.        Lines of text before auto form-feed:
  1206.       DMP /Vnn
  1207.  
  1208.        Set left margin to 'x' spaces:
  1209.           DMP /Mx
  1210.  
  1211.        Tab expansion on/off:
  1212.           DMP /T+  or  DMP /T-
  1213.        Reset or clear all tab stops:
  1214.           DMP /TR  or  DMP /TC
  1215.        Set/clear tab stops at 'aa'/'bb':
  1216.           DMP /aa+,bb-
  1217.  
  1218.        Jam literal character string to printer:
  1219.           DMP /C<char string>
  1220.  
  1221.        Convert an escape sequence:
  1222.           DMP /E<char string>=<char string>
  1223.        Convert a control character   or group of hi-bit characters:
  1224.       DMP /Xnn=<char string>
  1225.  
  1226.        Show character conversions in effect:
  1227.           DMP /LIS
  1228.  
  1229.        The descriptions for all these commands follow.
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.                                                              DMP 2.03 - page 20.
  1243.  
  1244.        DMP /G+ and DMP /G- commands:
  1245.           Graphics/binary print mode on/off.
  1246.  
  1247.        The "/G+" command turns off all character conversions.  The "/G-"
  1248.        command restores character conversions to their previous state.
  1249.  
  1250.           This command is useful to allow bit image graphics printing for
  1251.        dot-matrix printers after some character conversion options have been
  1252.        selected.  The options can later be re-enabled with "/G-".
  1253.  
  1254.  
  1255.        DMP /L+ and DMP /L- commands:
  1256.           Instruct DMP to send, or stop sending, line feeds to the printer
  1257.           after each carriage return.
  1258.  
  1259.        '/L+' causes line feeds to be added, '/L-' removes the effect of
  1260.        '/L+'.  This can be used to force double spacing or in conjunction
  1261.        with a print program that does not send line feeds, causing a "black
  1262.        bar" to be printed on one line.  It is usually not needed.
  1263.  
  1264.           Line feeds are not added in graphics '/G+' mode.
  1265.  
  1266.  
  1267.        DMP /A+ and DMP /A- commands:
  1268.           Inform program whether printer has auto line-feed.
  1269.  
  1270.        The "/A"  option does not change the character conversion functions,
  1271.        but allows DMP to count the number of lines the paper has advanced in
  1272.        order to generate the form feed function.  The program should always
  1273.        be properly set to match the printer's operation.  If the printer does
  1274.        have automatic line feed, the preferable choice is to disable this
  1275.        function on the printer.  If it isn't or can't be disabled, add the
  1276.        '/A+' command when DMP is installed.  The '/A-' command resets to the
  1277.        default state.
  1278.  
  1279.  
  1280.        DMP /U+ and DMP /U- commands:
  1281.  
  1282.           Allow or suppress line feeds after carriage returns.
  1283.        This command refers to characters which are being sent from an
  1284.        application program to the printer.  '/U-' inhibits line feeds after
  1285.        carriage returns;  '/U+' reverts to default state.  It can sometimes
  1286.        be used to force single-spacing when the program is printing double-
  1287.        spaced.  It can also be used together with /A and /L to force a
  1288.        consistent print format from a variety of programs which use different
  1289.        line spacings.
  1290.  
  1291.       Line feeds are not inhibited in graphics '/G+' mode.
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.                                                              DMP 2.03 - page 21.
  1302.  
  1303.        DMP /F+ and DMP /F- commands:
  1304.           Inform DMP whether the printer has form-feed capability.
  1305.  
  1306.         '/F+' (default state) tells DMP to pass form feeds to the printer,
  1307.        and to use form feeds when needed.  '/F-' causes the form feed
  1308.        function to be simulated by adding line feeds to the end of the
  1309.        physical page length set by the '/P' option.  The program should be
  1310.        set to match the printer.
  1311.  
  1312.           Form feed characters are not converted in graphics '/G+' mode.
  1313.  
  1314.  
  1315.        DMP /Pnn command:
  1316.           Set physical page length.
  1317.           'nn'=number of lines per page, 5 to 99.
  1318.  
  1319.        This command informs DMP of the number of lines (printer line feeds)
  1320.        on a page.  66 lines corresponds to 6 lines per inch, 11 inch paper.
  1321.        The program should be correctly informed if the page length is
  1322.        different.  This number is used by the program for the form feed
  1323.        function and the 'skip perforation' function.  See the '/V' command
  1324.        below.  The page length might be changed for graphics mode or an
  1325.        unusual page layout.
  1326.  
  1327.           Entering this command with no numbers will cause the program to
  1328.        display the current setting.  Entering this command at any time causes
  1329.        the program to be set to 'top of form', with nothing sent to the
  1330.        printer.
  1331.  
  1332.  
  1333.        DMP /Vnn command:
  1334.           Set text length - number of lines to print per page.
  1335.  
  1336.        This command is used in conjunction with '/P', above, to tell the
  1337.        program when to advance to the next page during continuous printing.
  1338.        In the default state, the printer will not skip lines for the perfor-
  1339.        ation, since the text length is set longer than the physical page
  1340.        length.  To enable this function, set the text length to one or more
  1341.        lines less than the page length with this command.
  1342.  
  1343.           Entering this command with no numbers will cause the program to
  1344.        display the current setting. Entering this command at any time causes
  1345.        the program to be set to 'top of form', with nothing sent to the
  1346.        printer.
  1347.  
  1348.           No perforation skip or automatic form feed functions take place
  1349.        when the driver is in graphics '/G+' mode, regardless of the settings
  1350.        for page and text length.
  1351.  
  1352.        Example:  DMP /P84/V85
  1353.           -Set printer to 84 lines per page (14 inch paper). Disable 'skip
  1354.       perforation' function.
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360.                                                              DMP 2.03 - page 22.
  1361.        DMP /Mx command:
  1362.           Set left margin.   x is a decimal number from 0 to 99.
  1363.  
  1364.           This command allows a left margin or indent to be added to
  1365.        printouts.  The number of spaces entered as 'x' will be added to each
  1366.        line.  DMP /M0  removes the margin.  If any left margin has been
  1367.        selected it will be shown on the summary display.  No left margin is
  1368.        added in graphics '/G+' mode.
  1369.  
  1370.           Please do not confuse this command with the "/MX:nn" command for
  1371.        selecting the internal buffer size.  This margin command does not use
  1372.        the colon, and can be entered at any time.  The memory command needs
  1373.        the colon, and can only be entered when DMP is installed.
  1374.  
  1375.  
  1376.        DMP /T+  and  DMP /T- commands:
  1377.           Tab expansion function ON/OFF.  The defaults are tab stops at every
  1378.           8 positions, expansion off.
  1379.  
  1380.           /T+ enables tab expansion, /T- disables it.  Any tab characters
  1381.        received will advance the print position to the next tab stop set.
  1382.        Refer to the other '/T' commands below for setting tab stops.  Tab
  1383.        expansion should be disabled if the printer includes tab stops and you
  1384.        want to use this feature.  Since DOS and most word processors include
  1385.        tab expansion, this feature will not usually be needed.  It is useful
  1386.        when copying disk files which include tabs directly to the printer, or
  1387.        if you want to set your own custom tab stops.
  1388.  
  1389.           No tab expansion occurs in graphics '/G+' mode.
  1390.  
  1391.  
  1392.        DMP /TR  command:
  1393.           Reset tab stops to every 8 positions.  Removes any tab stops set by
  1394.           other '/T' commands.  Sets a tab stop at every 8 positions.
  1395.  
  1396.  
  1397.        DMP /TC command:
  1398.           Clear all tab stops.   Useful before setting tabs to a new format.
  1399.  
  1400.        DMP /Taa+,bb+,...  or  DMP /Txx-,yy-,... commands:
  1401.            Add or remove tab stops at column positions.
  1402.           'aa','bb',...=column numbers to add tab stops.
  1403.           'xx','yy',...=column numbers to clear tab stops.
  1404.  
  1405.           The column numbers followed by '+' or '-' may be intermixed to set
  1406.        up a complete tab format.
  1407.  
  1408.        Example:
  1409.           DMP /TR/T+/T41-,43+,57-,64+,65-,69+,73-,75+,81-,82+
  1410.           (Enter this entire command on one line.)
  1411.           Resets tabs to every 8 columns, i.e. columns 9,17,25,..., enables
  1412.           tab expansion, then clears tab stops from columns 41, 57, 65, 73,
  1413.       81 and adds tab stops at columns 43, 64, 69, 75, 82.
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.                                  DMP 2.03 - page 23.
  1420.  
  1421.        CHARACTER STRINGS IN COMMANDS:
  1422.        The next 4 commands require entry of character strings for output or
  1423.        conversion.  This is shown as: <char string>.
  1424.  
  1425.        A character string may be entered on the command line as either a
  1426.        quoted string, like: "Abc" or a series of decimal numbers like:
  1427.        65,98,99.  If more than one of these is needed, separate them by
  1428.        commas.  5 examples of valid strings are:
  1429.  
  1430.             "XYZ"     13,10     27,"W",65,66
  1431.                  "Test"     "abc",13,10
  1432.  
  1433.  
  1434.        DMP /C<char string> command:
  1435.           Send character or control code string to printer.  See the
  1436.           description of character strings above.
  1437.  
  1438.        This command jams characters directly to the printer, at the output of
  1439.        the spooler.  It is useful for resetting the printer to a desired
  1440.        state on startup, or for changing pitch, etc., especially from a batch
  1441.        file.  Refer to your printer manual for codes needed.  This command
  1442.        sends characters to a printer only, not to a disk file.
  1443.  
  1444.        Example:   DMP /C27,"U"
  1445.           -Send 'Esc,U' to printer.
  1446.  
  1447.  
  1448.        CHARACTER CONVERSIONS - ESCAPE SEQUENCES
  1449.  
  1450.        DMP /E<char string> = <char string>,  or
  1451.        DMP /E<char string>-,or
  1452.        DMP /E<char string>+  commands:
  1453.           Convert or inhibit an 'escape' sequence.  Remove conversion or
  1454.           inhibit for a sequence.  See the description of character strings
  1455.           above.
  1456.  
  1457.        These commands allow conversion of control sequences beginning with
  1458.        the 'Escape' character (ASCII 27, Hex 1B).  If a number of these
  1459.        conversions are set up, the control sequences for one printer can be
  1460.        substituted for another.
  1461.  
  1462.           The first syntax causes the sequence on the left of the '=' to be
  1463.        replaced by the one on the right of the '=' before being sent to the
  1464.        printer. The '-' (minus) option inhibits the escape sequence from
  1465.        being sent to the printer.  The '+' (plus) option removes previous
  1466.        conversions or inhibits for this sequence.
  1467.  
  1468.           The limitations are as follows: A total of 64 sequences may be
  1469.        converted or inhibited at one time.  Each sequence may consist of up
  1470.        to 20 characters for both the input and output strings.  (40
  1471.        characters total.)  The total number of characters in all conversion
  1472.        sequences is limited to 512.  Sequence conversion is not recursive.
  1473.        The converted sequences are sent directly to the printer without
  1474.        passing through the converter again.
  1475.  
  1476.           The escape character is implied in the command.  Do not include it
  1477.  
  1478.                                                              DMP 2.03 - page 24.
  1479.        after the '/E'.  The escape character is NOT implied in the 'to'
  1480.        sequence.  Escape sequences may be replaced by any other sequence.
  1481.           No escape sequence conversions take place in graphics '/G+' mode.
  1482.  
  1483.        Example:  DMP /E"W"=27,"E" /E"&"=27,"F"
  1484.           Convert the sequences 'EscW' and 'Esc&' to 'EscE' and 'EscF'.  This
  1485.           would convert the Diablo 630 bold on/off functions to the cor-
  1486.           responding Epson functions.
  1487.  
  1488.  
  1489.        CONTROL AND HI-BIT CHARACTERS
  1490.  
  1491.        DMP /Xnn=<char string>, or
  1492.        DMP /Xnn=-  or  DMP /Xnn=+  commands:
  1493.           Convert or inhibit a control character.  Remove inhibit from a
  1494.           control character.
  1495.           'nn'=decimal code for the character to be converted.  See the
  1496.              description of character strings above.
  1497.           'nn=-' inhibits this character from being sent to the printer.
  1498.           'nn=+' removes previous conversion or inhibit for this character.
  1499.  
  1500.           Control characters can be converted or blocked from being sent to
  1501.        the printer with these commands.  Valid control characters for this
  1502.        command  are ASCII codes 0 thru 31, except Tab(09), CR(13), LF(10),
  1503.        FF(12), and Escape(27).
  1504.  
  1505.           The single control character is replaced by the string before being
  1506.        sent to the printer, or it is blocked from being sent.
  1507.  
  1508.           This function can be used for a limited amount of conversion of
  1509.        commands for one printer to commands for another, or to block printer
  1510.        commands from a word processor or other program that refuses to
  1511.        cooperate.
  1512.  
  1513.           Any conversions remain in effect when printer output is redirected
  1514.        between serial and parallel printers.  No conversions or character
  1515.        inhibits take place in graphics '/G+' mode.
  1516.  
  1517.        Examples:
  1518.           DMP /X15="x"   Convert ^O to lower case 'X'.
  1519.           DMP /X23=-   Prevent ^U from being sent to the printer.
  1520.  
  1521.  
  1522.        DMP /Xnnn=<char string> command:
  1523.           Convert a Hi-bit Ascii character or group of characters by entering
  1524.           data in the conversion table.  'nnn'=decimal code for a hi-bit
  1525.           character.  See the description of character strings above.
  1526.  
  1527.           The character string of one or more characters is entered in the
  1528.        conversion table starting at the specified character 'nn'.
  1529.  
  1530.           Hi-bit ASCII characters are those with codes greater than 127.  For
  1531.        these characters, each one is replaced by one character from a
  1532.        conversion table before being printed.  The startup state of the table
  1533.        maps each character to itself, so no conversions take place unless you
  1534.        enter them.  A group of conversion table entries is entered with this
  1535.  
  1536.  
  1537.                                  DMP 2.03 - page 25.
  1538.  
  1539.        command by specifying the starting character, 'nnn' in the above
  1540.        syntax, then entering the character string.
  1541.  
  1542.           Although the syntax is the same for control characters (above) and
  1543.        hi-bit characters, the commands are interpreted differently.  Each
  1544.        control character can be converted to a sequence of characters, while
  1545.        each hi-bit character can be converted to one other character.  The
  1546.        sequence in the command for a hi-bit character conversion makes a
  1547.        group of entries in the table for converting a group of hi-bit
  1548.        characters.
  1549.  
  1550.           The hi-bit conversions can be used to make your printer display the
  1551.        IBM box-drawing characters, math symbols, etc. as they show on your
  1552.        monitor, if the printer uses a different set of characters.
  1553.  
  1554.           If you enter any hi-bit conversions into the table with this
  1555.        command, it is a very good idea to save the configuration with the
  1556.        "/WCF" command so you won't have to enter them again.
  1557.  
  1558.           No hi-bit character conversions will take place in graphics '/G+'
  1559.        mode.
  1560.  
  1561.  
  1562.        DISPLAY CONVERSIONS
  1563.  
  1564.        DMP /LIS command:
  1565.           Display all control character and escape sequence conversions in
  1566.           effect.
  1567.  
  1568.        Causes the driver to display a table of all conversions in effect.
  1569.        The table is displayed when any conversion commands are entered.  This
  1570.        command permits checking the table without changing any entries.
  1571.  
  1572.           A typical display is as follows:
  1573.  
  1574.           Escape sequence conversions:
  1575.              50                      -Inhibited-
  1576.              69                      27,31,32,32
  1577.              70                      27,32,32,32
  1578.  
  1579.              98,111,120              27,28,32
  1580.              101,98,120              27,54,32
  1581.           Control characters:
  1582.              15       -Inhibited-
  1583.              18       -Inhibited-
  1584.  
  1585.        The numbers on the left show the characters for which conversions are
  1586.        in effect.  Those on the right show the outputs, or inhibited status.
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.  
  1596.                                                              DMP 2.03 - page 26.
  1597.  
  1598.  
  1599.        SPOOLER CONTROL
  1600.  
  1601.           The following commands give you precise control over the spooling
  1602.        functions in DMP.  They are especially useful for error recovery
  1603.        situations.
  1604.  
  1605.        DMP /SK Command:
  1606.           Cancel printing.  Flush buffered printer data.
  1607.  
  1608.        Deletes any spool files from disk.  Empties any memory buffers.
  1609.        Printing stops, but spooler operation continues normally after reset.
  1610.        Any data spooled for printing is lost.  Useful for paper jam, printer
  1611.        malfunction, wrong setup, etc.  This command has no effect during
  1612.        installation.
  1613.  
  1614.           If printer output has been set to a disk file, this command does
  1615.        not delete the disk file or stop the output.
  1616.  
  1617.           This function is also performed by DMP when the "/UN" un-install
  1618.        command is entered.  You do not have to cancel printing before un-
  1619.        installing.
  1620.  
  1621.        DMP /S- command:
  1622.           Stop spooler output to printer.
  1623.  
  1624.        Turns off output to printer.  Spooler continues to function,
  1625.        generating printer output data to memory and/or disk if needed.
  1626.        Output can be re-enabled from the point where it was stopped with the
  1627.        '/S+' command.  Useful for spooling output for printing later,
  1628.        changing printer paper, etc.  This command has no effect during
  1629.        installation.
  1630.  
  1631.           If printer output has been redirected to a disk file, this command
  1632.        affects only data which is still spooled for the printer, if any.
  1633.        Output continues to go to the disk file.
  1634.  
  1635.        Example:
  1636.           DMP /S-
  1637.           -Spooler output is turned off temporarily.
  1638.  
  1639.        DMP /S+ command:
  1640.           Restart spooler output after '/S-' or '/SB'.  Turns on output to
  1641.           printer after it has been turned off with '/S-', or bypassed with
  1642.           '/SB'.
  1643.  
  1644.       No effect if the output is already on.
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655.                                                              DMP 2.03 - page 27.
  1656.  
  1657.        DMP /SB Command:
  1658.           Bypass spooler function.
  1659.  
  1660.        This command bypasses spooler and driver operation for all subsequent
  1661.        printing.  All printer output is sent thru BIOS.  The program is re-
  1662.        enabled by the  '/S+' command.  If printer output was directed to a
  1663.        disk file, it will stop going to the file until re-enabled by the
  1664.        '/S+' command.  Any data spooled for a printer will continue to print
  1665.        after this command has been entered.  This command has no effect
  1666.        during installation.
  1667.  
  1668.  
  1669.        DMP /ST+ Command:
  1670.           Use true printer status for status requests.
  1671.  
  1672.        If a program requests the status of the printer from DMP the default
  1673.        operation is to return a "ready" status if the spooler is able to
  1674.        accept more data.  Entering this command causes the true hardware
  1675.        status from the printer to be returned.  This command also causes DMP
  1676.        to return an error if the printer is not ready when a program tries to
  1677.        print, as soon as the internal buffer fills (about 4k bytes).  The
  1678.        spooler will stop accepting data until the printer is ready to print,
  1679.        regardless of how much memory or disk space is available.  This
  1680.        command is for special situations, and is rarely needed.
  1681.  
  1682.  
  1683.        DMP /ST- Command:
  1684.           Use spooler status for status requests.
  1685.  
  1686.        Reset status request handling to the default operation - return
  1687.        spooler status.  More detail on the printer status operation is found
  1688.        in the technical section near the end of the manual.
  1689.  
  1690.  
  1691.        MISCELLANEOUS
  1692.  
  1693.        DMP /NV command:
  1694.           Suppress all messages when commands are executed.
  1695.  
  1696.        DMP displays normal messages through DOS to "standard output", error
  1697.        messages to "standard error".  This command turns off all message
  1698.        output (except copyright notice when installing).  It suppresses both
  1699.        normal and error messages.
  1700.  
  1701.           If you want to suppress only normal messages and still display
  1702.        errors, you can run DMP as  DMP/options... >NUL.  This causes DOS
  1703.        standard output to be redirected to "nul" - not displayed.
  1704.  
  1705.        This command can be used when another program calls DMP via the DOS
  1706.        'exec' function.  DMP will return error level 0 if no errors occur,
  1707.        error level 2 otherwise.  This command does not turn messages off
  1708.        permanently.  It must be entered on the command line any time messages
  1709.        are to be inhibited.
  1710.  
  1711.  
  1712.  
  1713.  
  1714.                                                              DMP 2.03 - page 28.
  1715.  
  1716.           USING THE ENVIRONMENT VARIABLE
  1717.  
  1718.           DMP will read memory spooling commands from a DOS environment var-
  1719.        iable when it is being installed, if desired.  The variable should be
  1720.        entered with the 'SET' command as:
  1721.             SET DMP = /options.
  1722.        'options' can be memory commands "/MXP", "/MXT..", "/MXALL.." for
  1723.        selecting expanded or extended memory or both for spooling.  DMP will
  1724.        look for the "DMP=" environment variable when installing only.
  1725.  
  1726.        The use of the environment variable is optional, and the program will
  1727.        execute command line selections whether the environment variable is
  1728.        used or not.
  1729.  
  1730.  
  1731.           USING THE CONFIGURATION FILE
  1732.  
  1733.           The configuration file was mentioned under "Saving Your
  1734.        Configuration", above.  It is a very convenient way to set up a
  1735.        complex set of options without having to remember a lot of commands,
  1736.        and without needing a batch file.
  1737.  
  1738.           When DMP is installed, it looks for a file named DMP.CFG which
  1739.        holds the selections for most of the options.  If this file is not
  1740.        found, all the default parameters are used.  The command to save the
  1741.        file is  DMP /WCF.  It stands for "Write Configuration File".
  1742.  
  1743.           Once you have stored the configuration, you do not need to re-enter
  1744.        your options every time you use DMP.  The basic options saved include
  1745.        the type of memory and/or disk spooling selected, all the character
  1746.        conversion and page formatting options, and the printer output port
  1747.        and speed.
  1748.  
  1749.           You can change option settings and re-write the new options with
  1750.        another /WCF command at any time.  It is a good idea to do this as you
  1751.        'fine tune' the settings for a printer/computer combination.
  1752.  
  1753.           You can go back to the last saved option settings by entering  DMP
  1754.        /RCF  after installing DMP.  This is useful if you have changed the
  1755.        options and then decide you liked them better the way they were.
  1756.  
  1757.           The DMP.COM file may be renamed if desired.  Under DOS 3.0 or
  1758.        later, DMP looks for a configuration file with it's own name and the
  1759.        extension changed to ".CFG".  Under all versions of DOS 2, it uses
  1760.        file "DMP.CFG" in the current directory.  This is only important if
  1761.        you rename the DMP.COM file or if you install DMP from different
  1762.        directories each time under DOS 2.
  1763.  
  1764.           There are two options not saved with the configuration file:
  1765.           1. Printing to a disk file.
  1766.           2. Program in graphics/binary mode or bypassed with the "/G+" or
  1767.         "/SB" commands.
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.                                                              DMP 2.03 - page 29.
  1774.  
  1775.        DMP WITH MORE THAN ONE PRINTER
  1776.         - Still more examples.
  1777.  
  1778.           The output port selection commands allow a thoretical maximum of
  1779.        five (!) printers to be controlled by DMP, one at a time.  This
  1780.        includes the three standard parallel and two serial ports that can be
  1781.        installed on a PC or compatible system.
  1782.  
  1783.           DMP is designed with features making it particularly suited to a
  1784.        two-printer system.  If one printer is serial and the other parallel,
  1785.        on any of the standard ports, changing back and forth can be done with
  1786.        only  DMP /LPT  for parallel and  DMP /COM  for serial, once the
  1787.        configurations are set.
  1788.  
  1789.        Two printer example:
  1790.  
  1791.           Two parallel printers are being used.  The first is on port 1 and
  1792.           does not need any character conversions, the second is on port 2
  1793.           and requires tab expansion and a line feed added after each
  1794.           carriage return.  Only one installation command is needed:
  1795.              DMP /LPT2 /MXT 0 384 /DC: /T+ /L+ /WCF
  1796.           Extended memory and hard disk C: are used for spooling.  DMP now
  1797.           starts up with the second printer selected.
  1798.  
  1799.           Switch to the first printer with:  DMP /LPT1 /G+.
  1800.           Switch to the second printer with:  DMP /LPT2 /G-.
  1801.  
  1802.  
  1803.        DMP AND WORD PROCESSORS
  1804.  
  1805.           DMP works well with all types of word processors.  This section
  1806.        gives you a few tips for getting the most from your word processor and
  1807.        DMP at the same time.
  1808.  
  1809.           If your word processor does not support your printer, you can use
  1810.        some of the escape sequence and character control functions in DMP to
  1811.        get page formatting on your printer to match one your word processor
  1812.        does support.  This can be a tedious process, but it may still be
  1813.        better than buying a new printer!
  1814.  
  1815.           If your word processor supports your printer and drives it normally
  1816.        - thru the system BIOS or DOS - you get maximum benefits from both
  1817.        programs.  DMP should usually be put in "/G+" mode while using the
  1818.        word processor.
  1819.  
  1820.           If you have a serial port printer, set up DMP with the "/COM"
  1821.        command and the proper settings for your serial port.  Do not use the
  1822.        DOS "MODE" command.  It is sometimes necessary to tell your word
  1823.        processor to print to "PRN" or "LPT1" to get it to spool through DMP.
  1824.  
  1825.        Experimenting with a single page printout should tell you if the
  1826.        settings are correct.
  1827.  
  1828.           If your word processor supports your printer and drives the PC's
  1829.        hardware directly, you may not know it.    Try printing a page or two
  1830.  
  1831.  
  1832.                                  DMP 2.03 - page 30.
  1833.  
  1834.        with DMP installed, and see if the system is returned to you right
  1835.        away while the printer is printing.  If so, the spooler is working.
  1836.        If not, the word processor is driving the printer directly.  A number
  1837.        of "high-end" word processors and desktop publishing programs will do
  1838.        this.  For this type of program, you should set DMP to match your
  1839.        hardware, and of course do not try to print from DMP and the word pro-
  1840.        cessor at the same time.  You still get the features of DMP for
  1841.        printing from other programs, printing disk files, etc.  You should
  1842.        also get all the features of your word processor with no conflicts.
  1843.  
  1844.  
  1845.        TECHNICAL DESCRIPTION
  1846.  
  1847.           This section provides some detailed information on how the DMP
  1848.        program works.  Read it if you are interested, or if you are having
  1849.        problems getting started.  The commands are described in detail in the
  1850.        previous sections.
  1851.  
  1852.  
  1853.        HOW COMMANDS ARE INTERPRETED.
  1854.  
  1855.           When DMP is installed, it reads the configuration file before any
  1856.        commands you enter at the DOS prompt.  This means you can override any
  1857.        of the settings in the file with commands if you want to.
  1858.  
  1859.           The commands for selection of spool buffers, output port, and all
  1860.        character conversions may be entered in any order.  The program reads
  1861.        them in the order desired, and ignores conflicting commands.
  1862.  
  1863.  
  1864.        DETAILS OF PROGRAM OPERATION.
  1865.  
  1866.           DMP is a "generic" printer driver, not configured for any specific
  1867.        make or model of printer.  Use of the character and escape sequence
  1868.        conversions, serial port redirection and several other options will
  1869.        almost certainly require a thorough understanding of the printer
  1870.        manual for the printer to be used.  Referring to that document at the
  1871.        same time as the command options given here should allow the program
  1872.        and printer to work together harmoniously, though the process may take
  1873.        some time.
  1874.  
  1875.           DMP only works with the 'primary' printer on a system, designated
  1876.        'PRN' by DOS.  It can work with more than one printer on a system, one
  1877.        at a time, as explained above.
  1878.  
  1879.           DMP functions by intercepting the BIOS software printer interrupt
  1880.        (17hex), converting characters as needed, and sending the resulting
  1881.        output to the spooler.  The spooler saves the data as it is received,
  1882.        then sends it to the printer by driving the parallel or serial port
  1883.        directly, or sending printer output to a disk file.
  1884.  
  1885.           Calls to INT 17H for a printer other than the primary one are
  1886.        'chained' to the previous vector.  The spooler also intercepts the
  1887.        timer interrupt, calls the previous owner of the timer, then checks
  1888.        for any printer functions needed.  If the printer is redirected to a
  1889.  
  1890.  
  1891.                                  DMP 2.03 - page 31.
  1892.  
  1893.        COM port, the hardware interrupt for that port is also used, and the
  1894.        use of the timer interrupt is reduced.
  1895.  
  1896.           The timer interrupt is also used to time out the print-to-file
  1897.        function after a few seconds of no activity.
  1898.  
  1899.           DMP also uses DOS software interrupts 21H and 28H to get access to
  1900.        DOS for disk read and write functions.
  1901.  
  1902.           The character and escape sequence conversion functions use internal
  1903.        conversion tables.  The hi-bit characters are converted from a simple
  1904.        128 byte lookup, which is initialized to all the same characters.  The
  1905.        escape sequence conversions use a separate 512 byte buffer for the
  1906.        conversion strings.  The strings are sorted when they are entered, and
  1907.        compared using a binary search when being received.  This puts as much
  1908.        of the complexity as possible in the non-resident portion of the
  1909.        program.
  1910.  
  1911.           A large amount of the code in DMP is for error handling.  The basic
  1912.        approach if the spool buffers fill, but the printer is still printing,
  1913.        is to wait about 90 seconds for the output buffer to empty.  If it
  1914.        doesn't empty, return an error to the program that is printing.
  1915.        Contention for access to the disk presents a more complex problem.
  1916.        DMP will sense a "deadlock" condition if one arises, and again return
  1917.        an error to the caller.  The use of expanded or extended memory for
  1918.        spooling helps avoid such problems.
  1919.  
  1920.           DMP checks the printer hardware status every few seconds when no
  1921.        printing is going on, and continuously when printing.  If the spool
  1922.        buffers fill and the printer is not ready (or the output is off) an
  1923.        error will be returned to any program trying to print.  DMP will sense
  1924.        a "not ready" status from a printer after about a 5 second delay.  It
  1925.        will sense a serial port stopped by either hardware or software
  1926.        control, as well as the parallel port status.  Note the error
  1927.        condition only applies if there is no more memory or disk space for
  1928.        spooling.
  1929.  
  1930.           If the true printer status is selected with the "/ST+" command, the
  1931.        true printer status is returned to any program that requests status
  1932.        before printing.  This can be useful if you want to make sure the
  1933.        printer is ready before starting a large print job.  This can have the
  1934.        drawback of causing occasional errors if a printer has its own buffer
  1935.        and becomes "not ready" for longer periods while printing.
  1936.  
  1937.           The "Print-to-disk" option uses the input data buffer.  The buffer
  1938.        is written to the disk file when it reaches half of the input buffer
  1939.        size, as soon as DOS is available for the disk write function.  If the
  1940.        buffer fills up and DOS is not ready, the information for the file
  1941.        will be written to memory buffers if any are available.  If there is
  1942.        nowhere else to go, an error return is given to the program that is
  1943.        printing.  DMP will not "throw away" data if the disk is not
  1944.        available.  The buffer will also be written to the disk after an 8
  1945.        second (approx.) timeout if nothing has been output to the printer.
  1946.  
  1947.  
  1948.  
  1949.  
  1950.                                  DMP 2.03 - page 32.
  1951.  
  1952.        PARALLEL PORT INFORMATION
  1953.  
  1954.           When the computer is turned on, the BIOS finds the parallel printer
  1955.        by sending signals to each of 3 possible port addresses, in a specific
  1956.        order.  The first port responding becomes "LPT1" or "PRN" for DOS.  If
  1957.        a second port responds, it becomes "LPT2".  Thus the BIOS designations
  1958.        don't correspond to a specific hardware setup.  DMP will use the one
  1959.        BIOS finds if you don't specify otherwise in a "/LPT" command, but
  1960.        doesn't necessarily use the same naming convention.
  1961.  
  1962.           If you set the parallel port output with a "/Bn" command instead of
  1963.        "/LPTn", DMP will send printer output to a specific set of hardware
  1964.        addresses.  Note the "/B" command uses numbers from 0-2, instead of 1-
  1965.        3 like the "/LPT" command.
  1966.  
  1967.        The ports for the "/B" command are defined as:
  1968.           Port #0 - I/O addresses 378-37F hex - The one on the motherboard or
  1969.         on the 1st multi-function board (often).
  1970.           Port #1 - I/O addresses 3B8-3BF hex - The one on a display adaptor.
  1971.            The one on a multi-function board (sometimes).
  1972.           Port #2 - I/O addresses 278-27F hex - The 2nd one on a multi-
  1973.            function or other option board.
  1974.  
  1975.           When sending data to a parallel port, DMP will try to determine the
  1976.        optimum speed to drive the printer while still allowing the computer
  1977.        to run other programs.  It does this by sending characters in groups
  1978.        to the printer, until the group gets too large for one time slice.
  1979.        This optimization takes place any time there is something being sent
  1980.        to the printer.  You can adjust the maximum group size with the
  1981.        "/LPTx:nn" command, where x is the port number and nn is a speed index
  1982.        from 0 to 99.  Note 0 does not mean no data will be sent.  The default
  1983.        value for this speed index is 75, corresponding to a maximum rate of
  1984.        about 900 characters per second.  While this is much faster than most
  1985.        dot-matrix printers will accept data, a laser printer will frequently
  1986.        accept even higher rates for short bursts.
  1987.  
  1988.           If your printer is not printing as fast as it can, and your
  1989.        computer is fast enough, you can experiment with raising the maximum
  1990.        rate to trade off computer time for printing speed.  If your computer
  1991.        is running other programs too slowly while printing with DMP, you can
  1992.        try lowering the maximum rate to get more time for your other
  1993.        programs.  Your printer will slow down, of course.
  1994.  
  1995.           One other parameter effects the output speed: Selection of the
  1996.        "/G0" graphics option causes the printer output to pause briefly after
  1997.        sending a carriage return.  This will also slow the overall output
  1998.        down, and is intended for older dot-matrix or daisy-wheel printers
  1999.        that can not accept data at high speed or have timing constraints on
  2000.        how fast one line can follow another.
  2001.  
  2002.  
  2003.  
  2004.  
  2005.  
  2006.  
  2007.  
  2008.  
  2009.                                                              DMP 2.03 - page 33.
  2010.  
  2011.        EXTENDED MEMORY USE GUIDELINES
  2012.  
  2013.           This section gives some information on various methods for using
  2014.        extended memory on 80286 or later processors.  It is intended for use
  2015.        by those who are just setting up a new system, or considering changing
  2016.        their setup to accomodate the DMP spooler.  If your system is already
  2017.        set up with programs using extended memory, and you don't want to
  2018.        change it, one of the methods explained in the sections on memory
  2019.        spooling should allow you to find a "slot" for DMP to spool.
  2020.  
  2021.           There is not a widely accepted standard for allocating extended
  2022.        memory, as there is for expanded.  Several informal methods exist, as
  2023.        well as the XMS standard.  The XMS is the only method DMP will use to
  2024.        allocate and de-allocate extended memory, but you can spool to
  2025.        extended memory without using an XMS driver program.  To do this, you
  2026.        need to directly control which portions of extended memory are to be
  2027.        used by the different programs using it.  DMP allows such control, as
  2028.        explained in the section on extended memory spooling.
  2029.  
  2030.           If you have a 80386 or later cpu there are more options available.
  2031.        Recommended uses, in order of preference, are:
  2032.  
  2033.        -Use one of the drivers made for 80386's, dividing up your memory as
  2034.         desired.  Some of these programs also allow you to run multiple DOS
  2035.         sessions, load TSR programs above DOS, etc.  Allocate your memory to
  2036.         fit your other applications, leaving as much as you need for
  2037.         spooling.  The amount left for DMP can be either set to extended
  2038.         (XMS) or expanded (EMS).  Just command DMP to use the one you want.
  2039.        -Use your extended memory for a ramdisk, but leave some unused so DMP
  2040.         can spool to it.  Allow spooling to both the extended memory and the
  2041.         ramdisk.  The ramdisk will be used only when the extended memory
  2042.         fills up.
  2043.  
  2044.           With a 80386 cpu you would not normally use the XMM driver supplied
  2045.        with DMP, as other drivers can make better use of the extended memory.
  2046.  
  2047.           If you have a 80286 cpu, the choices are a little different:
  2048.        -The XMM driver is the preferred method for controlling extended
  2049.         memory, if it is practical for you.  The list of applications that
  2050.         can use Himem.Sys is growing, and includes some very popular ones.
  2051.         If you want to use the HMA for spooling, load DMP before other appli-
  2052.         cations using the HMA, or command your other TSRs to avoid using it.
  2053.         In any case, extended memory will be allocated dynamically by DMP and
  2054.         any other programs if you use the XMM driver.
  2055.  
  2056.        -Reasons for NOT using the XMM driver include incompatibility with a
  2057.         ramdisk or other program needing extended memory, or incompatibility
  2058.         with your specific hardware.  If you do not use the driver, leave as
  2059.         much extended memory unused by your ramdisk as you feel you can
  2060.         afford to use for spooling, and assign DMP to the proper address
  2061.         range to use it.  Using extended directly avoids possible contention
  2062.         with other programs for access to DOS.  If you allow DMP to use the
  2063.         ramdisk as well as the memory, the ramdisk will be used only when the
  2064.     memory fills up.
  2065.  
  2066.  
  2067.  
  2068.                                  DMP 2.03 - page 34.
  2069.  
  2070.           There are also some driver programs available that simulate
  2071.        extended memory with expanded memory.  A reason for doing this would
  2072.        be to put the memory in one larger piece for use by a ramdisk or other
  2073.        program.  DMP is compatible with such programs, since DMP uses the
  2074.        system Bios or the XMM driver to access extended memory.  The sim-
  2075.        ulator program goes "below" DMP and the XMM driver.
  2076.  
  2077.           When you install DMP for spooling in extended memory, and the XMM
  2078.        driver is present, DMP will request the HMA for 32k bytes, as a TSR.
  2079.        This is in accordance with the standard.  If you want to use the XMM
  2080.        driver on your system, but do not want DMP to use the HMA, there are
  2081.        two basic methods for doing this.  You can load your other programs
  2082.        using the HMA first, or you can tell the XMM driver not to allow DMP
  2083.        to use the HMA.
  2084.  
  2085.           If your other program using the HMA is a resident program, it is
  2086.        easiest to load the other program first, or load the other program
  2087.        before giving DMP access to XMM memory with the "/MXT" or "/MXAll"
  2088.        command.  If you want to use the HMA from an application program, you
  2089.        need to tell the driver to deny requests for the HMA when the amount
  2090.        requested is 32k bytes or less.  If your driver conforms to the
  2091.        standard, this can be done with the following line in your Config.Sys
  2092.        file:
  2093.             "DEVICE = HIMEM.SYS /HMAMIN=33".
  2094.  
  2095.        This represents an unusual situation, i.e. using extended memory for
  2096.        spooling, with the XMM driver, but no use of the HMA, and DMP loaded
  2097.        before the program that needs the HMA.  It is provided to keep
  2098.        compatibility with the standard.
  2099.  
  2100.  
  2101.        SYSTEM MEMORY USE AND THE UN-INSTALL FUNCTION
  2102.  
  2103.           Of the system memory used for DMP,  about 9K bytes is program code
  2104.        and internal data.  Seperate buffers are used for input and output
  2105.        with 6K bytes total in the default configuration.  An internal stack
  2106.        is used when needed during timer ticks.
  2107.  
  2108.           If expanded memory is used for spooling, it is allocated in 32k
  2109.        byte portions as needed, and released when done.  This also applies to
  2110.        extended memory if the XMM driver is used.  Extended memory without
  2111.        the XMM driver does not have a means to allocate and deallocate, so
  2112.        DMP just uses whatever portion it has been selected for.  If HMA
  2113.        memory is used, it is allocated just once, and will not be de-
  2114.        allocated unless a "/MXNONE" command is issued and the spool buffers
  2115.        empty, or DMP is un-installed.
  2116.  
  2117.           When the "/UN" command is issued, DMP will replace all of the
  2118.        interrupt vectors it was using to their previous status, and de-
  2119.        allocate the DOS memory it has reserved.  DMP will try to remove
  2120.        itself from memory even when it is not the last program installed.  If
  2121.        another program is using some of the same interrupts DMP needs, DMP
  2122.        will not be able to un-install itself.  In this case an error message
  2123.        is displayed.  Removing programs in the reverse order of installation
  2124.        should solve this problem, if you encounter it.
  2125.  
  2126.  
  2127.                                  DMP 2.03 - page 35.
  2128.  
  2129.           There are some free utility programs available that can remove
  2130.        programs like DMP from memory.  These programs may be a good
  2131.        alternative to the "/UN" command, especially if you want to add and
  2132.        remove programs in groups.  Some precautions should be observed when
  2133.        using these programs, though.  If you have set up DMP to use HMA
  2134.        memory, as explained in the section on spooling, this area will not be
  2135.        released back to the pool of available memory unless you use the "DMP
  2136.        /UN" command.  The same precaution applies to the use of expanded
  2137.        memory, and to extended memory allocated by a driver.  Also, any spool
  2138.        files on a disk will remain if you remove DMP with a memory utility
  2139.        program.  These last two precautions only apply if you have data
  2140.        spooled for printing.
  2141.  
  2142.  
  2143.  
  2144.  
  2145.  
  2146.  
  2147.  
  2148.  
  2149.  
  2150.  
  2151.  
  2152.  
  2153.  
  2154.  
  2155.  
  2156.  
  2157.  
  2158.  
  2159.  
  2160.  
  2161.  
  2162.  
  2163.  
  2164.  
  2165.  
  2166.  
  2167.  
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.  
  2174.  
  2175.  
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182.  
  2183.  
  2184.  
  2185.                                  DMP 2.03 - page 36.
  2186.             DMP COMMAND SUMMARY CHART
  2187.       Function                    Default    Select(DMP/..)
  2188.     Printer output:
  2189.           Set printer output to parallel port #n.   BIOS
  2190.             Max output speed xx.                    75         LPTn:xx
  2191.           Set default parallel port                 Bios port  LPT
  2192.           Printer output to serial port x, bit      Parallel   COMxRyy
  2193.             rate yy, Data, Parity, Stops            8N1        DPS
  2194.             Wait for abc (CTS,DSR,DCD)              CTS        Wabc
  2195.           Printer output to filename:               Parallel   PFfilename
  2196.             -Append to file if it exists                       AFfilename
  2197.             -Overwrite file if it exists                       OFfilename
  2198.     Spooler control:
  2199.       Set internal buffer size to nn Kbytes     6K           MX:nn
  2200.       Use expanded memory for spooling        None       MXP
  2201.           Use extended memory for spooling,         None       MXT xxx yyy
  2202.             use xxxK bytes, start at yyyK over 1MB
  2203.           Use expanded and extended memory,         None       MXALL xxx yyy
  2204.             use xxxK bytes, start yyyK over 1MB
  2205.           Turn off expanded/extended memory usage              MXNONE
  2206.           Spool to disk drive X.                    None       DX:
  2207.           Turn off disk spooling                               DNONE
  2208.           Spool output OFF (temp)                   ON         S-
  2209.           Spool output ON, after /S-.               ON         S+
  2210.       Cancel printing. Flush buffers/files.            SK
  2211.           Bypass spooler. Pass chars to BIOS.                  SB
  2212.     Printer control:
  2213.       Graphics/binary mode printing ON,OFF.     OFF           G+,G-
  2214.           Send,No send LF to printer after CR.      *No send   L+,L-
  2215.           Printer does/doesn't auto LF on CR.       Doesn't    A+,A-
  2216.       Allow,Suppress LF after CR from user.     *Allow     U+,U-
  2217.           Printer does/doesn't have form feed.      *Does      F+,F-
  2218.           Set physical page length (paper length)   *66 lines  Pnn
  2219.           Set text length for auto FF (skip perf)   *70 lines  Vnn
  2220.       Set left margin.  nn=0 to 99            *No margin Mnn
  2221.           Tab expansion ON,OFF                      *OFF       T+,T-
  2222.       Reset tabs to every 8 positions        Reset      TR
  2223.           Clear all tab stops                       8 spaces   TC
  2224.           Add tab stops at columns aa,bb,...        8 spaces   Taa+,bb+,
  2225.           Remove tab stops at aa,bb,...             "     "    Taa-,bb-,
  2226.     Character conversions:
  2227.           Send char. string to printer                         C<char seq>
  2228.           Convert control char nn to string <char seq>
  2229.         up to 5 chars., 0 to 31, not Tab,CR,LF,FF,esc.*   Xnn=<char seq.>
  2230.       Inhibit sending control char. nn        *          Xnn=-
  2231.         Remove inhibits/converts for char. nn   *          Xnn=+
  2232.       Enter conversion chars in hi-bit table    *          Xnnn=<char seq.>
  2233.       Convert escape sequence <seq 1>        *          E<seq 1>=
  2234.         -replace with <seq 2>            *         <seq 2>
  2235.         -remove conversions             *           E<seq 1>+
  2236.             -inhibit sequence                       *          E<seq 1>-
  2237.           Display all conversions in effect         *          LIS
  2238.     Other:
  2239.           Remove program from memory                           UN
  2240.           Non-verbose mode (no messages)            msgs on    NV
  2241.           Save configuration file                              WCF
  2242.           Read configuration file                              RCF
  2243.        *DMP makes no conversions for these options with graphics mode ON.*
  2244.  
  2245.                                  DMP 2.03 - page 37.
  2246.  
  2247.  
  2248.              REGISTRATION AND ORDERING
  2249.  
  2250.       The order form below is for 1-5 copies of DMP.  The seperate
  2251.        file "REGINFO.DOC" contains another copy of the form, plus additional
  2252.        information on registration, site licenses, distribution of DMP by
  2253.        disk vendors and user groups, info on how to order by credit card,
  2254.        and information about LaserZ.
  2255.  
  2256.           User support is available from the author on CompuServe via PPN
  2257.        73210,2531.  Your questions will be answered within 48 hours, usually
  2258.        much quicker.  If you do not have access to CompuServe, please write
  2259.        to DMP software at the address on the order form below with questions
  2260.        or comments about the programs.
  2261.  
  2262.  
  2263.        ---------------------------------------------------------------------
  2264.        DMP ORDER FORM
  2265.  
  2266.        The registration fee for one copy of DMP is $29 (U.S. and Canada).
  2267.        If you register prior to April 15, 1991 it is still $18 for one copy.
  2268.        There is a $5 shipping & handling charge for overseas orders.
  2269.  
  2270.        For California mailing address please add sales tax for your county.
  2271.        The space for company name is optional.  Please do not staple your
  2272.        check to this form.  Mail this completed form to:
  2273.              DMP Software
  2274.          204 East 2nd Ave., Suite 610
  2275.          San Mateo,     CA  94401
  2276.  
  2277.        You will receive the latest version of the program on 5.25" disk.
  2278.        Please indicate clearly here____ if you prefer 3.5" 720k disk.
  2279.  
  2280.  
  2281.        Name:__________________________________________
  2282.  
  2283.        Company:_______________________________________
  2284.  
  2285.        Street Address:________________________________
  2286.  
  2287.        City:___________________State:______ZIP:_______
  2288.  
  2289.        Number of copies___ x $29           $_____.___
  2290.        Sales tax (CA)                           _____.___
  2291.        Total     enclosed:                     $_____.___
  2292.  
  2293.        ------------------------------------------------------------------
  2294.  
  2295.